package com.yh.service;

import com.yh.vo.OrderVO;

/**
 * @author yuhuan
 * @date 2022/01/13
 */
public interface PayService {
    /**
     * 通过代码完成虚拟支付
     *
     * @param orderId 订单的ID
     * @return 返回响应的支付状态
     */
    public int virtualPaymentOfCode(String orderId);

    /**
     * 正常支付
     *
     * @param orderId 订单的ID
     * @return 返回响应的支付状态
     */
    public int ordinaryPayment(String orderId);

    /**
     * 完成虚拟退款（接收退款请求）
     *
     * @param orderId     订单的ID
     * @param dateTimeStr 影片播放的开始时间字符串形式
     * @return 返回响应的支付状态
     */
    public int virtualRefund(String orderId, String dateTimeStr);

    /**
     * 处理退款业务（真正的虚拟退款业务）
     *
     * @param orderVO 需要退款的订单信息
     */
    public void receiveRefund(OrderVO orderVO);
}
